package com.it.reggie.common;
/*
* 公共字段自动填充
* 1.实体类上加入@TableField注解,指定自动填充的策略
* 2.编写元数据对象处理器(MyMetaObjectHandler),用于统一为公共字段赋值
*   (需要实现MetaObjectHandler接口)
*
* 公共字段自动填充*完善*
* 1.BaseContext工具类:基于ThreadLocal,用于保存和获取当前登录用户id
* 2.LoginCheckFilter中存放当前登录用户到ThreadLocal
* 3.MyMetaObjectHandler中从ThreadLocal中获取
* */
/**
 * 基于ThreadLocal封装工具类，用户保存和获取当前登录用户id
 */
public class BaseContext {
    private static ThreadLocal<Long> threadLocal = new ThreadLocal<>();

    /**
     * 设置值
     * @param id
     */
    public static void setCurrentId(Long id){
        threadLocal.set(id);
    }

    /**
     * 获取值
     * @return
     */
    public static Long getCurrentId(){
        return threadLocal.get();
    }
}